package com.jiezuo.common.enums;

import com.jiezuo.common.exception.BusinessRuntimeException;
import lombok.Getter;

/**
 * @description 工作流枚举 （前端页面<el-table></el-table>不要忘记加： :row-class-name="$toDoLock"）
 * @author 庞留杰
 * @date 2020/7/16 19:08
 * @version V1.0
 **/
@Getter
public enum FlowableEnums {

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓房产公司入库↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    WARE_HOUSING("房产公司入库", "wareHousing", "房产公司入库【%s】", "", ""),
    WARE_HOUSING_1("房产公司入库_房产公司入库申请", "wareHousing", "房产公司入库【%s】", "sid-1", "/biddingManger/rkApplyListDmo/rkApplyList"),
    WARE_HOUSING_2("房产公司入库_房产公司入库项目分配", "wareHousing", "房产公司入库【%s】", "sid-2", "/biddingManger/rkApplyListDmo/rkReceiveList"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓房产入库资料递交↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    COMPANY_MATERIAL_SUMMBIT("房产入库资料递交", "companyMaterialSummbit", "房产公司入库资料递交【流水号%s】", "", ""),
    COMPANY_MATERIAL_SUMMBIT_1("房产入库资料递交_房产公司入库资料递交", "companyMaterialSummbit", "房产公司入库资料递交【流水号%s】", "sid-1", "/biddingManger/rkApplyListDmo/houseSubmit"),
    COMPANY_MATERIAL_SUMMBIT_2("房产入库资料递交_房产公司入库资料接收", "companyMaterialSummbit", "房产公司入库资料递交【流水号%s】", "sid-2", "/biddingManger/rkApplyListDmo/houseReceive"),
    COMPANY_MATERIAL_SUMMBIT_3("房产入库资料递交_房产公司入库结果反馈", "companyMaterialSummbit", "房产公司入库资料递交【流水号%s】", "sid-3", "/biddingManger/rkApplyListDmo/rkFeedbackList"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓技术标↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    TECHNICAL_BID("技术标", "technicalBid", "投术标审核【流水号%s】", "", ""),
    TECHNICAL_BID_1("技术标", "technicalBid", "投术标审核【流水号%s】", "", ""),
    TECHNICAL_BID_2("技术标", "technicalBid", "投术标审核【流水号%s】", "", ""),
    TECHNICAL_BID_3("技术标", "technicalBid", "投术标审核【流水号%s】", "", ""),
    // todo “技术标” 暂时不处理 。。。。

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓投标保证金↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    BIDDING_BOND("投标保证金", "biddingBond", "投标保证金【流水号%s】", "", ""),
    BIDDING_BOND_1("投标保证金_发起人", "biddingBond", "投标保证金【流水号%s】", "sid-1", "/biddingManger/bidSecurity/bidSecurityList"),
    BIDDING_BOND_2("投标保证金_部门负责人", "biddingBond", "投标保证金【流水号%s】", "sid-2", "/biddingManger/bidSecurity/bidDeptApproval"),
    BIDDING_BOND_3("投标保证金_招投标办公室", "biddingBond", "投标保证金【流水号%s】", "sid-3", "/biddingManger/bidSecurity/bidOfficeApproval"),
    BIDDING_BOND_4("投标保证金_主管领导", "biddingBond", "投标保证金【流水号%s】", "sid-4", "/biddingManger/bidSecurity/bidDirectorApproval"),
    BIDDING_BOND_5("投标保证金_发起人完善", "biddingBond", "投标保证金【流水号%s】", "sid-5", "/biddingManger/bidSecurity/bidSponsor"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓投标报价↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    TENDER_OFFER("投标报价", "tenderOffer", "投标报价审核【流水号%s】", "", ""),
    TENDER_OFFER_1("投标报价_投标报价申请", "tenderOffer", "投标报价审核【流水号%s】", "sid-1", "/biddingManger/biddingOffer/offerRequest"),
    TENDER_OFFER_2("投标报价_投标报价审批", "tenderOffer", "投标报价审核【流水号%s】", "sid-2", "/biddingManger/biddingOffer/offerApproval"),
    TENDER_OFFER_3("投标报价_投标报价接收", "tenderOffer", "投标报价审核【流水号%s】", "sid-3", "/biddingManger/biddingOffer/offerReceiving"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓备案资料递交↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    RECORD_SUMMBIT("备案资料递交", "recordSummbit", "备案资料递交【%s】", "", ""),
    RECORD_SUMMBIT_1("备案资料递交_备案资料递交", "recordSummbit", "备案资料递交【%s】", "sid-1", "/biddingManger/areastatic/dataSubmit"),
    RECORD_SUMMBIT_2("备案资料递交_备案资料接收", "recordSummbit", "备案资料递交【%s】", "sid-2", "/biddingManger/areastatic/dataReceive"),
    RECORD_SUMMBIT_3("备案资料递交_区域备案结果反馈", "recordSummbit", "备案资料递交【%s】", "sid-3", "/biddingManger/areastatic/arearesultlist"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓投标保证金↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    BID_KEY("投标审核", "bidKey", "投标审核【投标编号%s】", "", ""),
    BID_KEY_1("投标审核_项目申请", "bidKey", "投标审核【投标编号%s】", "sid-0", "/biddingManger/bidding/biddingApplication"),
    BID_KEY_2("投标审核_项目审核", "bidKey", "投标审核【投标编号%s】", "sid-1", "/biddingManger/bidding/tenderapprovalList"),
    BID_KEY_3("投标审核_项目审批", "bidKey", "投标审核【投标编号%s】", "sid-2", "/biddingManger/bidding/biddingApproval"),
    BID_KEY_4("投标审核_项目分配", "bidKey", "投标审核【投标编号%s】", "sid-3", "/biddingManger/bidding/biddingList"),
    BID_KEY_5("投标审核_项目接收", "bidKey", "投标审核【投标编号%s】", "sid-4", "/biddingManger/bidding/biddingAcceptance"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓正式合同审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    FORMAL_CONTRACT("正式合同审核", "formalContract", "正式合同审核【正式合同编号%s】", "", ""),
    FORMAL_CONTRACT_1("正式合同审核_正式合同起草", "formalContract", "正式合同审核【正式合同编号%s】", "sid-76C82048-8DC6-453D-BAA4-FC3D0F34A59F", "/contract/formalContract/formalDrafting"),
    FORMAL_CONTRACT_2("正式合同审核_正式合同完善", "formalContract", "正式合同审核【正式合同编号%s】", "sid-1E54A0B5-DD5F-46F0-ABE5-397DE1F0A7EC", "/contract/formalContract/formalperfect"),
    FORMAL_CONTRACT_3("正式合同审核_正式合同审核", "formalContract", "正式合同审核【正式合同编号%s】", "sid-53B7EDD2-8250-48C1-BDB2-67FEDEB4AD82", "/contract/formalContract/formalReview"),
    FORMAL_CONTRACT_4("正式合同审核_正式合同审批", "formalContract", "正式合同审核【正式合同编号%s】", "sid-4C4A1B62-D000-4943-9013-155CB4186A2E", "/contract/formalContract/formalApprove"),
    FORMAL_CONTRACT_5("正式合同审核_正式合同盖章", "formalContract", "正式合同审核【正式合同编号%s】", "sid-246AD022-ADFE-4146-8F38-D22C34320FFC", "/contract/formalContract/formalissue"),
    FORMAL_CONTRACT_6("正式合同审核_正式合同归档", "formalContract", "正式合同审核【正式合同编号%s】", "sid-B08B42CC-8591-41F1-ACA7-E19E92C525C4", "/contract/formalContract/formalArchive"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓简易合同审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    SIMPLE_CONTRACT("简易合同审核", "simpleContract", "简易合同审核【简易合同编号%s】", "", ""),
    SIMPLE_CONTRACT_1("简易合同审核_正式合同起草", "formalContract", "简易合同审核【简易合同编号%s】", "sid-243B6BC7-6B98-4272-AD96-F53581CD8CEE", "/contract/simpleContract/simple_formalDrafting"),
    SIMPLE_CONTRACT_2("简易合同审核_正式合同完善", "formalContract", "简易合同审核【简易合同编号%s】", "sid-07A01570-449C-4C4A-B015-71A5BF8B710F", "/contract/simpleContract/simple_formalperfect"),
    SIMPLE_CONTRACT_3("简易合同审核_简易合同审核", "formalContract", "简易合同审核【简易合同编号%s】", "sid-29FA3C7C-3F47-4F94-8B32-D46B36B8A722", "/contract/simpleContract/simple_formalReview"),
    SIMPLE_CONTRACT_4("简易合同审核_正式合同审批", "formalContract", "简易合同审核【简易合同编号%s】", "sid-53CCA561-52D7-4391-B7FD-FF8FFA4B4BAD", "/contract/simpleContract/simple_formalApprove"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓区域备案资料↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    REGIONAL_RECORDS("区域备案资料", "regionalRecords", "区域备案资料审核【备案编号%s】", "", ""),
    REGIONAL_RECORDS_1("区域备案资料_区域备案申请", "regionalRecords", "区域备案资料审核【备案编号%s】", "sid-1", "/biddingManger/areastatic/arealist"),
    REGIONAL_RECORDS_2("区域备案资料_区域备案项目分配", "regionalRecords", "区域备案资料审核【备案编号%s】", "sid-2", "/biddingManger/areastatic/arearecivelist"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓车辆申请↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    CAR_REQUEST("车辆申请", "carRequest", "车辆申请【流水号%s】", "", ""),
    CAR_REQUEST_1("车辆申请_申请人", "carRequest", "车辆申请【流水号%s】", "car-1", "/vehicle/useApplication"),
    CAR_REQUEST_2("车辆申请_部门负责人审核", "carRequest", "车辆申请【流水号%s】", "car-2", "/vehicle/vehicleExamine"),
    CAR_REQUEST_3("车辆申请_驾驶员填写信息", "carRequest", "车辆申请【流水号%s】", "car-3", "/vehicle/vehicleDriver"),
    CAR_REQUEST_4("车辆申请_部门员工填写信息", "carRequest", "车辆申请【流水号%s】", "car-4", "/vehicle/staffWrite"),
    CAR_REQUEST_5("车辆申请_部门负责人审批", "carRequest", "车辆申请【流水号%s】", "car-5", "/vehicle/vehicleApprove"),
    CAR_REQUEST_6("车辆申请_车辆管理员终审", "carRequest", "车辆申请【流水号%s】", "car-6", "/vehicle/vehicleJudgment"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓标书↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    BIDING_DOCUMENT("标书", "bidingDocument", "标书【流水号%s】", "", ""),
    BIDING_DOCUMENT_1("标书_标书整合", "bidingDocument", "标书【流水号%s】", "sid-7A05801E-FECC-4ACC-9E26-C988614C3E2A", "/biddingManger/bidingDocument/integration"),
    BIDING_DOCUMENT_2("标书_标书终审", "bidingDocument", "标书【流水号%s】", "sid-264D4E81-E84C-443E-AAAC-1B1A01CBACEC", "/biddingManger/bidingDocument/finalJudgment"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓报告审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    REPORT_EXAMINE("报告审核", "reportExamine", "报告试验审核审批【报告编号%s】", "", ""),
    REPORT_EXAMINE_1("报告审核_委托录入", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_1", "/entrust/entrInput"),
    REPORT_EXAMINE_2("报告审核_试验录入", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_2", "/testExperiment/testEntry"),
    REPORT_EXAMINE_3("报告审核_报告审核", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_3", "/reportTest/reportTest"),
    REPORT_EXAMINE_4("报告审核_报告审批", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_4", "/reportTest/reportTestApproval"),
    REPORT_EXAMINE_5("报告审核_3天审核", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_5", "/reportTest/reportTest"),
    REPORT_EXAMINE_6("报告审核_3天审批", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_6", "/reportTest/reportTestApproval"),
    REPORT_EXAMINE_7("报告审核_28天审核", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_7", "/reportTest/reportTest"),
    REPORT_EXAMINE_8("报告审核_28天审批", "reportExamine", "报告试验审核审批【报告编号%s】", "sid_8", "/reportTest/reportTestApproval"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓工作联系函↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    TOUCH_LETTER("工作联系函", "touchLetter", "工作联系函审核【流水号%s】", "", ""),
    TOUCH_LETTER_1("工作联系函_申请", "touchLetter", "工作联系函审核【流水号%s】", "sid-1", "/project/contactLetter/inquiry"),
    TOUCH_LETTER_2("工作联系函_审核", "touchLetter", "工作联系函审核【流水号%s】", "sid-2", "/project/contactLetter/contactLetterReview"),
    TOUCH_LETTER_3("工作联系函_审批", "touchLetter", "工作联系函审核【流水号%s】", "sid-3", "/project/contactLetter/businessCenter"),
    TOUCH_LETTER_4("工作联系函_大厅派单", "touchLetter", "工作联系函审核【流水号%s】", "sid-4", "/project/contactLetter/hallSupervisor"),
    TOUCH_LETTER_5("工作联系函_检测部门签字", "touchLetter", "工作联系函审核【流水号%s】", "sid-5", "/project/contactLetter/testingDepartment"),
    TOUCH_LETTER_6("工作联系函_检测人员", "touchLetter", "工作联系函审核【流水号%s】", "sid-6", "/project/contactLetter/testingPersonnel"),


    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓工作联系函↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    JUDICIAL_EXPERTISE("司法鉴定联系函", "judicialExpertise", "工作联系函审核【流水号%s】", "", ""),
    JUDICIAL_EXPERTISE_1("司法鉴定联系函_申请", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-1", ""),
    JUDICIAL_EXPERTISE_2("司法鉴定联系函_审核", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-2", ""),
    JUDICIAL_EXPERTISE_3("司法鉴定联系函_审批", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-3", ""),
    JUDICIAL_EXPERTISE_4("司法鉴定联系函_大厅派单", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-4", ""),
    JUDICIAL_EXPERTISE_5("司法鉴定联系函_检测部门签字", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-5", ""),
    JUDICIAL_EXPERTISE_6("司法鉴定联系函_检测人员", "judicialExpertise", "司法鉴定联系函审核【流水号%s】", "sid-6", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓项目联系函↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    PROJECT_TOUCH_LETTER("项目联系函", "projectTouchLetter", "项目联系函【项目联系函编号%s】", "", ""),

//    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓中标通知书↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
//    BIDDING_NOTICE("中标通知书", "biddingNotice", "中标通知书【%s】", "", ""),
//    // todo “中标通知书” 暂时不处理 。。。。

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓合同补充说明↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    CONTRACT_ADDITION("合同补充说明", "contractAddition", "合同审核【合同编号%s】", "", ""),

    FORMAL_ADDITIONAL_STAMP("正式合同补充盖章", "formalAdditionalStamp", "正式合同补充盖章【合同编号%s】", "", ""),
    SIMPLE_ADDITIONAL_STAMP("简易合同补充盖章", "simpleAdditionalStamp", "简易合同补充盖章【合同编号%s】", "", ""),
    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓退样管理↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    SAMPLE_RETURN("退样管理", "sampleReturn", "退样管理【退样编号%s】", "", ""),
    SAMPLE_RETURN_1("退样管理_发起人", "sampleReturn", "退样管理【退样编号%s】", "s-0", "/sample/sampleReturn/sampleReturnList"),
    SAMPLE_RETURN_2("退样管理_大厅业务受理", "sampleReturn", "退样管理【退样编号%s】", "s-1", "/sample/sampleReturn/sampleReturnApproval"),
    SAMPLE_RETURN_3("退样管理_实验室经手人签字", "sampleReturn", "退样管理【退样编号%s】", "s-2", "/sample/sampleReturn/sampleReturnPrinting"),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓留样管理↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    SAMPLE_SEALED("留样管理", "sampleSealed", "留样管理【留样编号%s】", "", ""),


    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓投标项目报名↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    BIDDING_APPLICATION("投标项目报名", "biddingApplication", "投标项目报名【流水号%s】", "", ""),
    BIDDING_APPLICATION_1("投标项目报名_报名资料递交", "biddingApplication", "投标项目报名【流水号%s】", "sid-1", "/biddingManger/bidSignup/signUpSubmit"),
    BIDDING_APPLICATION_2("投标项目报名_报名资料接收", "biddingApplication", "投标项目报名【流水号%s】", "sid-2", "/biddingManger/bidSignup/signUpReceive"),
    BIDDING_APPLICATION_3("投标项目报名_招标文件递交", "biddingApplication", "投标项目报名【流水号%s】", "sid-3", "/biddingManger/bidSignup/bidSubmit"),
    BIDDING_APPLICATION_4("投标项目报名_招标文件接收", "biddingApplication", "投标项目报名【流水号%s】", "sid-4", "/biddingManger/bidSignup/bidReceive"),
    
    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓未交费先开发票申请↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
	INVOICEBEFOREPAYMENT("未交费先开发票申请", "invoiceBeforePaymentApply", "未交费先开发票申请【流水号%s】", "", ""),

    JZINVOICEBEFOREPAYMENT("未交费先开发票申请", "jzInvoiceBeforePaymentApply", "未交费先开发票申请【流水号%s】", "", ""),

	/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓节点应收通知单↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
	CHARGENODERECEIVABLE("节点应收通知单", "chargeNodeReceivable", "节点应收通知单【流水号%s】", "", ""),

    JZCHARGENODERECEIVABLE("节点应收通知单", "jzChargeNodeReceivable", "节点应收通知单【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓借据审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    LEND_LOAN("借据审批", "lendLoan", "借据审批【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓费用报销审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    COST_REIM("费用报销审批", "costReim", "费用报销审批【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓差旅费报销审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    TRAVEL_REIM("差旅费报销审批", "travelReim", "差旅费报销审批【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓合同退款审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    CONTRACT_REFUND("合同退款审批", "contractRefund", "合同退款审批【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓合同退款审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    PUBLIC_APPLICAT("公出申请审批", "publicApplicat", "公出申请审批【流水号%s】", "", ""),

    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓已发放报告审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    GENERATE_REPORT_EXAMINE("已发放报告审核", "generateReportExamine", "已发放报告审核【报告编号%s】", "", ""),
    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓已发放报告审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    STANDARD_NOVELTY("标准查新审批", "standardNovelty", "标准查新审批【流水号%s】", "", ""),
    EQUIPMENT_MAINTAIN("设备维修审批", "equipmentMaintain", "设备维修审批【流水号%s】", "", ""),
    EQUIPMENT_STOP("设备停用审批", "equipmentStop", "设备停用审批【流水号%s】", "", ""),
    EQUIPMENT_WASTE("设备报废审批", "equipmentWaste", "设备报废审批【流水号%s】", "", ""),
    EQUIPMENT_CHECK("设备检定计划审批", "equipmentCheck", "设备检定计划审批【流水号%s】", "", ""),
    EQUIPMENT_CHECK_RECORD("设备检定记录审批", "equipmentCheckRecord", "设备检定记录审批【流水号%s】", "", ""),
    EQUIPMENT_UPKEEP("设备保养计划审批", "equipmentUpkeep", "设备保养计划审批【流水号%s】", "", ""),
    EQUIPMENT_UPKEEP_RECORD("设备保养记录审批", "equipmentUpkeepRecord", "设备保养记录审批【流水号%s】", "", ""),


    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓费用报销审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    REPORTED_PROJECT("项目报备", "reportedProject", "项目报备审核【流水号%s】", "", ""),

    JZREPORTED_PROJECT("项目报备", "jzReportedProject", "项目报备审核【流水号%s】", "", ""),
    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓费用报销审批↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    TRADE_REQUEST("业务申请", "tradeRequest", "业务申请审核【流水号%s】", "", ""),


    /* 九州流程 */
    /* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓正式合同审核↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
    JZ_FORMAL_CONTRACT("九州正式合同审核", "jzFormalContract", "正式合同审核【正式合同编号%s】", "", ""),
    JZ_SIMPLE_CONTRACT("九州内部合同审核", "jzSimpleContract", "内部合同审核【内部合同编号%s】", "", ""),
    JZ_CONTRACT_ADDITION("九州合同补充说明", "jzContractAddition", "合同补充说明【合同编号%s】", "", ""),

    JZ_TEAMDEDUCTIONINFO("九州团队扣款", "jzTeamDeductionInfo", "九州团队扣款【编号%s】", "", ""),

    JZ_RESULT_MABAGEMENT("九州成果管理审核", "jzResultManagement", "成果管理审核【成果管理编号%s】", "", ""),

    INVOICE_BEFORE_PAYMENT("未交费先开发票", "invoiceBeforePayment", "", "", ""),
    REPORT_BEFORE_PAYMENT("未交费先取报告", "reportBeforePayment", "", "", ""),

    DLHS_CAPITAL_EXPENDITURE("独立核算资金支出", "DlhsCapitalExpenditure", "独立核算资金支出【编号%s】", "", ""),

    SETTLEMENT_LIST("结算清单", "settlementList", "结算清单审核【流水号%s】", "", ""),

    ENTRUST_BEFORE_PAYMENT("未交费先办理委托", "entrustBeforePayment", "未交费先办理委托【流水号%s】", "", ""),
    BUSINESS_APPLICATION_STAMP("业务申请补充盖章", "businessApplicationStamp", "业务申请补充盖章【流水号%s】", "", ""),

    JZ_SEAL_PROCESS("九州用章申请", "jzSealProcessFlow", "九州用章申请【编号%s】", "", ""),
    JZ_INVOICING("九州发票申请", "jzInvoicingFlow", "九州发票申请【编号%s】", "", ""),

    REPORT_V2("报告流程", "ReportV2", "报告流程【报告编号%s】", "", ""),

    PAYMENT_ORDER_APPLICATION("付款申请单", "paymentOrderApplication", "付款申请单【编号%s】", "", ""),
    CHANNEL_OPERATION("渠道运营", "channelOperation", "渠道运营【编号%s】", "", ""),
    CONTRACT_REFUND_APPLY("合同退款申请", "contractRefundApply", "合同退款申请【编号%s】", "", ""),
    TRAVEL_EXPENSE("差旅费报销单", "travelExpenseForm", "结算清单审核【流水号%s】", "", ""),
    ;

    String name; //名称
    String key;//标识
    String business_name;//业务名称
    String task_key;//task的id，为了和流程图关联起来
    String router;//前端路由跳转

    public String getBusiness_name(String code) {
        return String.format(business_name, code);
    }

    FlowableEnums(String name, String key, String business_name, String task_key, String router) {
        this.name = name;
        this.key = key;
        this.business_name = business_name;
        this.task_key = task_key;
        this.router = router;
    }

    public static FlowableEnums getFlowableEnums(String key,String task_key) {
        for(FlowableEnums flowableEnums : values()){
            if(flowableEnums.getKey().equals(key) && flowableEnums.getTask_key().equals(task_key)){
                return flowableEnums;
            }
        }
        throw new BusinessRuntimeException("FlowableEnums中未找到对应的值");
    }

}